/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.testes;

import br.com.beans.Endereco;
import br.com.beans.Pessoa1;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 *
 * @author egberto
 */
public class TesteHashMap {
    
    public static void main(String args[]){
        Endereco end1 = new Endereco("Av. Bernardino de Campos", 327);
        Endereco end2 = new Endereco("Av. Paulista", 1500);
        Endereco end3 = new Endereco("Alameda Santos", 256);
        
        String rg1 = "1111";
        Pessoa1 pessoa1 = new Pessoa1(end1, "Matheus", rg1);
        
        String rg2 = "22222";
        Pessoa1 pessoa2 = new Pessoa1(end2, "Juliana da Costa", rg2);
        
        String rg3 = "33333";  
        Pessoa1 pessoa3 = new Pessoa1(end3, "Catarina Gomes", rg3);
        
        Map pessoas = new HashMap();
        pessoas.put(rg1, pessoa1);
        pessoas.put(rg2, pessoa2);
        pessoas.put(rg3, pessoa3);
        
        imprimeMap(pessoas);
        
        String chave = "22222";
        //removendo o valor associado a chave do hashmap pessoa
        removeElemento(pessoas,chave);       
       
    }
    
     public static void imprimeMap(Map map){
         System.out.println("\n=== Impressao do Map ===\n");
         Set chaves = map.keySet();
         Iterator i = chaves.iterator();
         
         while(i.hasNext()){
             //recuperando as chaves armazenadas em chaves para entao
             //obter o valor associado
             String chave = (String)i.next();
             //recuperando o nome da pessoa atraves do rg no hashmap pessoas
             System.out.println("[Chave]: " + chave);
             System.out.println(map.get(chave) + "\n");
         }
     }
     
     public static void removeElemento(Map map, String chave){
         Pessoa1 valorRemovido = null;
         
         //verificando se a chave existe no hashMap
         if(map.containsKey(chave)){
             System.out.println("\n=== Removendo elemento no Map ===\n");
             valorRemovido = (Pessoa1) map.remove(chave);
             System.out.println("Valor removido = " + valorRemovido);
         }else{
             System.out.println("Chave nao encontrada no HashMap");
         }
     }
    
}
